package com.budwk.app.sys.services;

import com.budwk.app.sys.models.Sys_dict;
import com.budwk.app.sys.vo.SysDictVO;
import com.budwk.starter.database.service.BaseService;
import com.budwk.app.sys.models.Sys_dict_new;

import java.util.List;

public interface SysDictNewService extends BaseService<Sys_dict_new>{
    /**
     * 通过code获取子级
     *
     * @param code 标识
     * @return
     */
    List<Sys_dict_new> getSubListByCode(String code);

    /**
     * 通过父id获取下级列表
     *
     * @param id ID
     * @return
     */
    List<Sys_dict_new> getSubListById(String id);

    /**
     * 保存数据字典
     *
     * @param dict 字典对象
     * @param pid  父ID
     */
    void save(Sys_dict_new dict, String pid);

    /**
     * 级联删除数据
     *
     * @param dict 字典对象
     */
    void deleteAndChild(Sys_dict_new dict);

    /**
     * 清空缓存
     */
    void cacheClear();

    List<SysDictVO> getDictTree(Sys_dict_new queryDict);

    List<Sys_dict_new> listDictByName(String dictName);
}
